home *** CD-ROM | disk | FTP | other *** search
- /* ===============
- * PedScrollbar.hh
- * ===============
- *
- * Implemented by PedScrollbar.cc
- */
-
- #pragma once
-
- #include "PedControl.hh"
-
- enum {
- kPedScrollVertical = 1,
- kPedScrollHorizontal = 2
- };
-
- enum {
- kPedScrollRedrawOnUpdate = 0,
- kPedScrollRedrawImmediately = 1
- };
-
- typedef struct SPedScrollInfo {
- Point pt;
- bool update;
- } SPedScrollInfo;
-
- class PedScrollbar : public PedControl {
- public:
- PedScrollbar(PedView &inSuperView, short inOrientation);
- virtual ~PedScrollbar();
-
- virtual void Init();
-
- virtual void Open();
- virtual void Close();
-
- // Pane management
- virtual void SetBounds();
- virtual void SetBounds(const Rect &inBounds);
- virtual void SetStepUnit(short inUnit);
- virtual void SetJumpUnit(short inUnit);
- virtual void Activate();
- virtual void Deactivate();
- //virtual void Resize(short inWidth, short inHeight);
- virtual void Scroll(short inDistance, bool inUpdate = false);
-
- // Event processing
- virtual void DispatchNullEvent(EventRecord &inEvent);
- virtual void DispatchClickEvent(EventRecord &inEvent);
- virtual void ControlAction(short inPart);
-
- protected:
- virtual void Draw();
- virtual void GetCalcBounds(Rect &outBounds);
-
- short mOrientation;
- ControlActionUPP mActionProc;
- short mStepUnit;
- short mJumpUnit;
- };
-